<?php

namespace app\item\controller;

use app\common\model\Configs;
use app\common\model\Domains;
use app\common\model\Dsps;
use dh2y\qrcode\QRcode;

class Dsp extends Base
{

    // 获取分享二维码 ( 私有 )
    private function get_qrcode($alias=0)
    {
        $url = 'http://' . Domains::getOneData(1) . url('item/dsp/index', ['alias'=>$alias]);

        $code = new QRcode();
        $code_path = $code->png($url, false, 6) //生成二维码
//        ->entry();
        ->getPath();

        return $code_path;
    }

    /* 随机获取 短视频 分享海报 背景 */
    private function dsp_share_bg($img = '')
    {
        // 把换行，替换成|
        $str_str = str_replace(PHP_EOL, '||', $img);

        //把字符串转换成数组
        $strtoarray = explode('||', $str_str);

        //整理array
        $logo_array = array_filter(trimAll($strtoarray));

        /* 分享二维码模板3图片[300*300] */
        $qunlogo   = $logo_array[mt_rand(0, count($logo_array)-1)];

        return $qunlogo;
    }



    /* 首页 跳转 */
    public function index($alias=0)
    {
        /* 是否随机短视频 */
        if ( fission('dsp_random') == 0 ){
            $alias = 0;
        }

        $url = '//' . Domains::getOneData(2) . url('item/dsp/show', ['alias'=>$alias]);
        $this->assign('url', $url);
        return view();
    }


    /* 页面展示 */
    public function show($alias=0)
    {
        if ( !isset($_SERVER['HTTP_REFERER']) ){
            $url = url('item/dsp/index', ['alias'=>$alias]);
            $this->redirect($url);
        }

        if ( !empty($alias) ){
            $data = Dsps::where(['alias'=>$alias])->find();
        } else {
            $datas = Dsps::where('status', 1)->select();
            $data = getRandArray($datas, 1)[0];
        }

        if ( !$data ) return '没有找到相应的短视频';

        /* 访问量 +1 */
        $data->setInc('view');

        /* 加载淘口令 */
        $data['taokouling'] = fission('taokouling');

        /* 把字符串转换成数组 */
        $qrcode = explode('||', $data['share_end_img']);
        //从多张二维码里，随机获取一张
        $data['share_end_img'] = $qrcode[mt_rand(0, count($qrcode)-1)];

        /* 生成分享二维码, 用来生成海报 */
        $data['share_qrcode'] = $this->get_qrcode($alias);


        /* 获取全部配置 */
        $confAll = Configs::field('name,value')->where('group', 'qun')->select();

        /* 数据整理成一维数组 */
        $conf = [];
        foreach ($confAll as $k=>$v){
            $conf[$v['name']] = trim($v['value']);
        }

        $conf['dsp_share_bg'] = $this->dsp_share_bg($conf['share_qrcode2_bg']);

        /* 加载到模板 */
        $this->assign(['data'=>$data, 'jsondata'=>base64_encode(json_encode($data))]);
        $this->assign(['conf'=>$conf, 'jsonconf'=>base64_encode(json_encode($conf))]);

        return view();
    }

    public function get_data()
    {
        //
    }




}